import logging


def merge_self_pool(df):
    """
    自身广告位当缓存池
    :param df:
    :return:
    """
    # grouped_counts = df.groupby(['adOrderNo', 'adParam'])['adType'].value_counts().unstack(fill_value='0')
    # logging.info(f'adType出现的次数grouped_counts: \n{grouped_counts.to_string()}')
    # 按 adOrderNo 和 adParam 分组统计 adType 的频次，并展开为宽表
    grouped_counts = (
        df.groupby(['adOrderNo', 'adParam'])['adType']  # 先按订单号，再按参数分组
        .value_counts()  # 统计 adType 的频次
        .unstack(level=-1, fill_value=0)  # 将 adType 展开为列，缺失值填0
        .reset_index()  # 将分组键转换为普通列（可选）
    )


    return grouped_counts
